package com.kingyun.gpsinspection.purificationservice.facade.service.iam.adm;

import com.alibaba.fastjson.JSONObject;
import com.kingyun.gpsinspection.purificationservice.facade.model.iam.adm.TrainingPlan;

import java.util.List;

/**
 * 培训计划服务层
 * created by lutinabo 2016/12/8
 */
public interface TrainingPlanService {

    /**
     * 查询列表
     * @param bootstrapSearchBean
     * @return
     */
    JSONObject list(TrainingPlan bootstrapSearchBean);

    /**
     * 删除请假申请
     * @param trainingId
     * @return
     */
    int deleteByPrimaryKey(String[] trainingId);

    /**
     * 新增培训计划
     * @param record
     * @param uploadFiles 需要上传的文件
     * @param deletedFiles 需要删除的文件
     * @param empIds 培训人员id
     * @return
     */
    int insertSelective(TrainingPlan record, String uploadFiles, String deletedFiles, String empIds);

    /**
     * 根据id查询培训计划
     * @param trainingId
     * @return
     */
    TrainingPlan selectByPrimaryKey(String trainingId);

    /**
     * 根据id更新培训计划
     * @param record
     * @param uploadFiles 需要上传的文件
     * @param deletedFiles 需要删除的文件
     * @return
     */
    int updateByPrimaryKeySelective(TrainingPlan record, String uploadFiles, String deletedFiles, String empIds);

    /**
     * 判断培训计划名是否存在
     * @param planName
     * @return
     */
    boolean isExitByName(String planName);

    /**
     * 根据名字查询培训计划
     * @param planName
     * @return
     */
    List<TrainingPlan> searchByName(String planName);

    /**
     * 启用/不启用培训计划
     * @param plan
     * @return
     */
    int startOrStop(TrainingPlan plan);
}
